Computer interfaces have advanced far beyond the “glass terminal” model, where early cathode-ray tube (“CRT”) monitors were pressed into service to display lines of fixed-width, monochrome text characters, as if the CRTs were nothing more than paperless teletypes. Contemporary computers often use a variant of the stacking window system developed at the Xerox Palo Alto Research Center (“PARC”) in the late 1970s and early 1980s. Some attempts have been made to implement three-dimensional “virtual reality” user interfaces, but 2½ dimensional stacking windows (two-dimensional windows that behave as if they can be overlapped or “stacked” on top of each other in a simulated third dimension) are currently in widest use.
Overlapping windows facilitate effective use of limited-size screens and provide an intuitive way for users to interact with several different applications that may be used simultaneously. Each program may display a number of separate windows (e.g., documents, dialog windows and toolbars) that the user can position at convenient locations on the screen. A program known as a “window manager” coordinates various applications' windows, tracking the resizing and simulated stacking order of the windows and arranging for portions of windows that are not occluded by overlying windows to be drawn appropriately. Sometimes an application's windows can be moved together (i.e., if one of a program's windows is moved, all of the other windows move as well), and sometimes each window can be moved individually. Furthermore, some programs permit sub-components such as buttons or menus to be added to or removed from the program's windows.
Windows that can be freely moved, resized and ordered top-to-bottom offer excellent configurability for users who rely on their computers to perform a range of tasks. However, the same flexibility can be detrimental for a user who requires a configurable control- and information-rich interface, but who does not need window-by-window and moment-by-moment adjustment capability. Such a user may prefer to undertake the task of placing and sizing windows only infrequently, relying on the system to re-create his preferred interface automatically when he begins working.
A user interface management system that suits a user who has complex, but only occasionally-changing, interface needs may be of value in many environments.